package com.situ.gym.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.situ.gym.pojo.Course;
import com.situ.gym.pojo.query.CoachCourseQuery;
import com.situ.gym.pojo.vo.CoachCourseVO;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

/**
 * 教练课程管理服务接口
 * 提供教练管理自己课程的业务方法
 *
 * @author ${author}
 * @since 2025-01-27
 */
public interface ICoachCourseService extends IService<Course> {
    
    /**
     * 分页查询当前教练的课程列表
     * @param coachCourseQuery 查询条件
     * @return 分页课程列表
     */
    IPage<CoachCourseVO> list(CoachCourseQuery coachCourseQuery);
    
    /**
     * 批量删除课程
     * @param ids 课程ID数组
     */
    void deleteAll(Long[] ids);
    
    /**
     * 导出课程Excel
     * @param response HTTP响应
     * @param coachId 教练ID
     */
    void exportExcel(HttpServletResponse response, Long coachId);
    
    /**
     * 导入课程Excel
     * @param file Excel文件
     * @param coachId 教练ID
     */
    void importExcel(MultipartFile file, Long coachId);
}
